/*
 * Copyright (C) 2011 TopCoder Inc., All Rights Reserved.
 */
package gov.nasa.pds.services;

import gov.nasa.pds.entities.MetadataFile;

/**
 * Reads the metadata from the given file.
 * 
 * Thread Safety: The implementations should be effectively thread-safe.
 */
public interface MetadataFileReader {
    /**
     * Reads the metadata from the given file.
     * 
     * @param filename
     *            - the name of the file with the metadata
     * @throws DataSetProcessingException
     *             - if there is an error while parsing the file
     * @return - the the parsed metadata file object
     */
    MetadataFile readMetadataInfo(String filename) throws DataSetProcessingException;
}
